Principal Typings for Explicit Substitutions Calculi
نویسندگان
چکیده
Having principal typings (for short PT) is an important property of type systems. In simply typed systems, this property guarantees the possibility of a complete and terminating type inference mechanism. It is well-known that the simply typed λ-calculus has this property but recently J.B. Wells has introduced a system-independent definition of PT, which allows to prove that some type systems, e.g. the Hindley/Milner type system, do not satisfy PT. Explicit substitutions address a major computational drawback of the λ-calculus and allow the explicit treatment of the substitution operation to formally correspond to its implementation. Several extensions of the λ-calculus with explicit substitution have been given but some of which do not preserve basic properties such as the preservation of strong normalization. We consider two systems of explicit substitutions (λse and λσ) and show that they can be accommodated with an adequate notion of PT. Specifically, our results are as follows: • We introduce PT notions for the simply typed versions of the λseand the λσ-calculi and prove that they agree with Wells’ notion of PT. • We show that these versions satisfy PT by revisiting previously introduced type inference algorithms.
منابع مشابه
Intersection Type Systems and Explicit Substitutions Calculi
The λ-calculus with de Bruijn indices, called λdB, assembles each α-class of λ-terms into a unique term, using indices instead of variable names. Intersection types provide finitary type polymorphism satisfying important properties like principal typing, which allows the type system to include features such as data abstraction (modularity) and separate compilation. To be closer to computation a...
متن کاملPrincipal Typings in a Restricted Intersection Type System for Beta Normal Forms with De Bruijn Indices
The λ-calculus with de Bruijn indices assembles each α-class of λterms in a unique term, using indices instead of variable names. Intersection types provide finitary type polymorphism and can characterise normalisable λ-terms, that is a term is normalisable if and only if it is typeable. To be closer to computations and to simplify the formalisation of the atomic operations involved in β-contra...
متن کاملSUBSEXPL: A tool for Simulating and Comparing Explicit Substitutions Calculi A Tutorial
In this tutorial we present the system SUBSEXPL that is used for simulating and comparing explicit substitutions calculi. This framework was developed in Ocaml, a language of the ML family, and it allows the manipulation of expressions of the λ-calculus and of several styles of explicit substitutions calculi. Applications of this framework include: the visualisation of the contractions of the λ...
متن کاملSUBSEXPL: a tool for simulating and comparing explicit substitutions calculi
We present the system SUBSEXPL used for simulating and comparing explicit substitutions calculi. The system allows the manipulation of expressions of the λ-calculus and of three different styles of explicit substitutions: the λσ, the λse and the suspension calculus. Implementations of the η-reduction are provided for each calculi. Other explicit substitutions calculi can be incorporated into th...
متن کاملSUBSEXPL: a tool for simulating and comparing explicit substitutions calculi1
We present the system SUBSEXPL used for simulating and comparing explicit substitutions calculi. The system allows the manipulation of expressions of the λ-calculus and of three different styles of explicit substitutions: the λσ, the λse and the suspension calculus. A variation of the suspension calculus, which allows for combination of steps of β-contraction is included too. Implementations of...
متن کامل